package com.hmall.client;


/**
 * @Description FeignClient
 * @Author luohai
 * @Date 2024-11-11
 */

import com.hmall.common.dto.PageDTO;
import com.hmall.pojo.ItemCondition;
import com.hmall.pojo.ItemConditionVo;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * 使用Feign的步骤：
 * ① 在消费者微服务模块中引入依赖
 * ② 在消费者启动类上添加@EnableFeignClients注解
 * ③ 编写FeignClient接口，需添加@FeignClient（“服务提供者服务名id”）注解
 * ④ 注入FeignClient接口，调用FeignClient中定义的方法代替RestTemplate
 */
@org.springframework.cloud.openfeign.FeignClient("itemservice")
public interface FeignClient {

    /**
     * 过滤项聚合功能
     * @param itemCondition
     * @return
     */
    @PostMapping("item/search")
    ItemConditionVo itemByCondition(@RequestBody ItemCondition itemCondition);


    @PostMapping("item/search/list")
    PageDTO pageQuery(@RequestBody ItemCondition itemCondition);

}
